<!DOCTYPE HTML>
<html>
<head>
<title>Click | AutoHotkey</title>
<meta name="description" content="The Click command clicks a mouse button at the specified coordinates. It can also hold down a mouse button, turn the mouse wheel, or move the mouse." />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script>
</head>
<body>

<h1>Click <span class="ver">[v1.0.43+]</span></h1>

<p>在指定坐标处点击鼠标按钮. 它还可以按住鼠标按钮, 转动鼠标滚轮或移动鼠标.</p>
<pre class="Syntax"><span class="func">Click</span> <span class="optional">, Options</span></pre>

<h2 id="Parameters">参数</h2>
<dl>
  <dt>Options</dt>
  <dd>
    <p>指定零个或多个以下项目: <var>Coords</var>, <var>WhichButton</var>, <var>ClickCount</var>, <var>DownOrUp</var>, 和/或 <var>Relative</var>. 每个项目之间至少用一个空格, 制表符和/或逗号隔开. 各项可以以任何顺序出现, 除了 <var>ClickCount</var> 必须出现在 <var>Coords</var> 的右边(如果存在).</p>
    <p><strong>Coords:</strong> 在点击前, 鼠标光标要移动到的 X 和 Y 坐标. 例如, <code>Click, 100 200</code> 在特定位置点击鼠标左键. 坐标是相对于活动窗口, 除非曾使用 <a href="CoordMode.htm">CoordMode</a> 更改了这个设置. 如果省略, 则使用光标的当前位置.</p>
    <p><strong>WhichButton:</strong> Left(默认), Right, Middle(或只是这些名称的第一个字母); 或鼠标第四或第五个按钮(X1 或 X2). 例如, <code>Click, Right</code> 在鼠标光标的当前位置点击鼠标右键. 与 <a href="MouseClick.htm">MouseClick</a> 不同的是, 左键和右键在所有系统中的表现是一致的, 即使用户通过系统的控制面板交换了按钮.</p>
    <p><var>WhichButton</var> 也可以是 WheelUp 或 WU 来向上转动滚轮(远离你), 或 WheelDown 或 WD 来向下转动滚轮(朝向你). <span class="ver">[v1.0.48+]</span>: 也可以指定 WheelLeft(或 WL) 或 WheelRight(或 WR)(但它们对早于 Windows Vista 的旧操作系统没有影响). 对于 <var>ClickCount</var>, 指定转动滚轮的凹槽数. 但是, 有些应用程序不服从鼠标滚轮的 <var>ClickCount</var> 值高于 1. 对此, 可以通过 <a href="Loop.htm">Loop</a> 等手段多次使用 Click 命令.</p>
    <p><strong>ClickCount:</strong> 鼠标要点击的次数. 例如, <code>Click, 2</code> 在鼠标光标位置双击. 如果省略, 那么点击鼠标一次. 如果指定了 <var>Coords</var>, 那么 <var>ClickCount</var> 必须放在坐标后面. 指定零(0) 来移动鼠标而不进行点击; 例如, <code>Click, 100 200 0</code>.</p>
    <p><strong>DownOrUp:</strong> 这部分通常省略, 此时每次点击包括按下事件和接着的弹起事件. 否则, 指定单词 Down(或字母 D) 来按下鼠标按钮不放. 之后, 使用单词 Up(或字母 U) 来释放鼠标按钮. 例如, <code>Click, Down</code> 按下鼠标左键不放.</p>
    <p><strong>Relative:</strong> 单词 Rel 或 Relative 会把指定的 X 和 Y 坐标视为距离当前鼠标位置的偏移. 换句话说, 会把光标从当前位置往右移动 X 像素(负值则往左) 且往下移动 Y 像素(负值则往上).</p>
  </dd>
</dl>

<h2 id="Remarks">备注</h2>
<p>Click 命令通常比 <a href="MouseClick.htm">MouseClick</a> 更好, 因为它不受用户通过系统控制面板对左右键功能交换的设置的影响.</p>
<p>Click 命令使用的发送模式由 <a href="SendMode.htm">SendMode</a> 设置. 要忽略此模式进行特殊的点击,  使用带有 <a href="Send.htm#Click">{Click}</a> 的特定的 Send 命令, 如本例所示: <code>SendEvent {Click 100 200}</code>.</p>
<p>要进行 shift-click 或 control-click, 使用 <a href="Send.htm#Click">Send 中的 Click</a> 通常是最简单的. 例如:</p>
<pre>Send, +{Click 100 200}  <em>; Shift+LeftClick</em>
Send ^{Click 100 200 right}  <em>; Control+RightClick</em></pre>
<p>与 <a href="Send.htm">Send</a> 不同, <em>Click</em> 不会自动释放修饰键(Ctrl, Alt, Shift 和 Win). 例如, 如果现在 <kbd>Ctrl</kbd> 处于按下的状态, 那么 <code>Click</code> 会产生 control-click 但 <code>Send {Click}</code> 会产生普通的点击.</p>
<p><a href="SendMode.htm">SendPlay 模式</a>生成的鼠标事件可以比其他模式适应更大范围的游戏. 此外, 某些应用程序和游戏在鼠标移动过快时可能会跟踪困难, 此时可以使用 <a href="SetDefaultMouseSpeed.htm">SetDefaultMouseSpeed</a> 减慢速度(但仅在 <a href="SendMode.htm">SendEvent 模式</a>中有效).</p>
<p>可以使用 <a href="BlockInput.htm">BlockInput</a> 命令防止用户对鼠标的任何物理操作扰乱由鼠标命令生成的模拟鼠标事件. 不过, 在 <a href="SendMode.htm">SendInput</a> 和 <a href="SendMode.htm">SendPlay</a> 模式中通常不需要这个命令, 因为它们会自动延迟用户对鼠标的物理操作到发送之后.</p>
<p>在每次鼠标按下事件和鼠标弹起事件后都会有一个自动的延时(不包括在 <a href="SendMode.htm">SendInput 模式</a>中转动鼠标滚轮的情况). 使用 <a href="SetMouseDelay.htm">SetMouseDelay</a> 可以改变延时的长度.</p>

<h2 id="Related">相关</h2>
<p><a href="Send.htm#Click">Send {Click}</a>, <a href="SendMode.htm">SendMode</a>, <a href="CoordMode.htm">CoordMode</a>, <a href="SetDefaultMouseSpeed.htm">SetDefaultMouseSpeed</a>, <a href="SetMouseDelay.htm">SetMouseDelay</a>, <a href="MouseClick.htm">MouseClick</a>, <a href="MouseClickDrag.htm">MouseClickDrag</a>, <a href="MouseMove.htm">MouseMove</a>, <a href="ControlClick.htm">ControlClick</a>, <a href="BlockInput.htm">BlockInput</a></p>
<h2 id="Examples">示例</h2>
<div class="ex" id="ExBasic">
<p><a class="ex_number" href="#ExBasic"></a> 在鼠标光标的当前位置点击鼠标左键.</p>
<pre>Click</pre>
</div>

<div class="ex" id="ExCoord">
<p><a class="ex_number" href="#ExCoord"></a> 在指定坐标处点击鼠标左键.</p>
<pre>Click, 100 200</pre>
</div>

<div class="ex" id="ExCoordMove">
<p><a class="ex_number" href="#ExCoordMove"></a> 移动鼠标光标到指定位置而不点击鼠标.</p>
<pre>Click, 100 200 0</pre>
</div>

<div class="ex" id="ExCoordRight">
<p><a class="ex_number" href="#ExCoordRight"></a> 在指定坐标处点击鼠标右键.</p>
<pre>Click, 100 200 Right</pre>
</div>

<div class="ex" id="ExDouble">
<p><a class="ex_number" href="#ExDouble"></a> 在鼠标光标的当前位置执行双击.</p>
<pre>Click, 2</pre>
</div>

<div class="ex" id="ExDown">
<p><a class="ex_number" href="#ExDown"></a> 按下鼠标左键不放.</p>
<pre>Click, Down</pre>
</div>

<div class="ex" id="ExUp">
<p><a class="ex_number" href="#ExUp"></a> 释放鼠标右键.</p>
<pre>Click, Up Right</pre>
</div>

</body>
</html>